package cn.icare.cms;

import cn.icare.cms.dao.po.AD;
import cn.icare.cms.dao.po.ShopCart;
import cn.icare.cms.model.ro.AddADRO;
import cn.icare.cms.model.ro.AddShopCartRO;
import cn.icare.cms.model.ro.EditADRO;
import cn.icare.cms.model.vo.rest.MsgDatasVO;

import java.math.BigDecimal;
import java.util.List;

public interface ShopCartService {
    /**
     * 添加购物车
     * @param ro
     * @param memberId
     * @param price 商品当前实际售价（如果商品当前时间有促销活动，则显示促销价，否则显示商品原价）
     * @return
     */
    Long createOne(AddShopCartRO ro, Long memberId, BigDecimal price);

    boolean updateNum(Long id,Integer num,Long memberId);

    boolean deleteOne(Long id,Long memberId);

    boolean deleteBatch(List<Long> ids,Long memberId);

    /**
     * 获取会员购物车信息
     * @param memberId 会员Id
     * @param areaId 区域Id
     * @return
     */
    MsgDatasVO getList(Long memberId,Long areaId);
    ShopCart getOne(Long itemId,Long memberId);


    /**
     * 根据Id列表获取会员购物车信息
     * @param ids 记录列表
     * @param memberId 会员Id
     * @param areaId 区域Id
     * @return
     */
    MsgDatasVO getListByIds(List<Long>ids,Long memberId,Long areaId);


    ShopCart getOneById(Long id);



}
